#ifndef __MODEL_H
#define __MODEL_H

#include "BasicTypes.h"
#include <memory>
class Parser;
class IFilter;

class Model
{
public:
	Model();
	~Model();
	Parser * GetParser() const {return m_parser;};
	IFilter * GetFilter() const {return m_filter.get();};
	TreeFormat GetTreeFormat() const {return m_treeFormat;};
	void SetFilter( std::auto_ptr<IFilter> filter );
	void SetTreeFormat( TreeFormat treeFormat ) {m_treeFormat = treeFormat;};
private:
	Parser * m_parser;
	std::auto_ptr<IFilter> m_filter;
	TreeFormat m_treeFormat;
};

#endif //__MODEL_H